Search engines have been widely utilized for searching for data on the Internet and/or in file repositories.
FIG. 1A illustrates a flowchart of an example prior art process performed by a typical search engine for generating a search result. In step 102, the search engine may receive a search query. In step 104, the search engine may perform a search utilizing one or more indexes. In step 106, the search engine may generate the search result. The search result may include a list of files that are found as well as data related to the files. In some prior art systems, the search result may be further processed to produce a search report, as illustrated in the example of FIG. 1B.
FIG. 1B illustrates a flowchart of an example prior art process for generating a search report. Steps 112-116 may be similar to similar to steps 102-106 illustrated in the example of FIG. 1A, such that a search engine may generate a search result. In step 122, the search engine or a report program may receive a set of report criteria. In step 118, the search engine or the report engine may group, sort, and/or categorize items in the search result according to the report criteria. In step 120, the search engine or the report program may generate a search report. The search report may include data of files that are grouped, sorted, or categorized according to relevance, date, filename, etc.
With a search result or a search report, a user may need to perform one or more actions, such as one or more of copying, moving, deleting, locking, legal-holding, email conversion, etc., of one or more items in the search result or report. Generally, the actions may be performed manually. Alternatively, various users of various computers (or nodes) may create various ad hoc scripts for performing the actions. A script may be implemented for a specific action to be performed on a specific file on a specific computer platform. The script may not be able to be utilized on another platform, or another file, or another action. A script may not be able to handle more complicated action requirements. Further, since different users may implement different scripts for different nodes on a network, performance of actions across the nodes may be inconsistent and unmanageable.